Low Redundancy in Dictionaries with O(1) Worst Case Lookup Time

نویسنده

  • Rasmus Pagh
چکیده

A static dictionary is a data structure for storing subsets of a finite universe U , so that membership queries can be answered efficiently. We study this problem in a unit cost RAM model with word size Ω(log |U |), and show that for n-element subsets, constant worst case query time can be obtained using B +O(log log |U |) + o(n) bits of storage, where B = dlog2 (|U | n ) e is the minimum number of bits needed to represent all such subsets. The solution for dense subsets uses B + O( |U | log log |U | log |U | ) bits of storage, and supports constant time rank queries. In a dynamic setting, allowing insertions and deletions, our techniques give an O(B) bit space usage.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Low Redundancy in Static Dictionaries with O(1) Worst Case Lookup Time

A static dictionary is a data structure for storing subsets of a finite universe U , so that membership queries can be answered efficiently. We study this problem in a unit cost RAM model with word size Ω(log |U |), and show that for n-element subsets, constant worst case query time can be obtained using B +O(log log |U |) + o(n) bits of storage, where B = dlog2 (|U| n ) e is the minimum number...

متن کامل

Low Redundancy in Static Dictionaries with Constant Query Time

A static dictionary is a data structure storing subsets of a finite universe U , answering membership queries. We show that on a unit cost RAM with word size Θ(log |U |), a static dictionary for n-element sets with constant worst case query time can be obtained using B+O(log log |U |)+o(n) bits of storage, where B = dlog2 (|U| n )e is the minimum number of bits needed to represent all nelement ...

متن کامل

8.1 Hashing Algorithms 8.1.1 Perfect Hashing – Reducing Worst Case Loopkup Time

Sometimes it is desireable to store a set of items S taken from a universe U using an amount of storage space n and having average lookup time O(1). One system which has these properties is a hash table with a completely random hash function. Last time we saw how to implement this using a 2-universal hash family. Unfortunately these hash families can have a large lookup time in the worst case. ...

متن کامل

An Overview of Cuckoo Hashing

Cuckoo Hashing is a technique for resolving collisions in hash tables that produces a dictionary with constant-time worst-case lookup and deletion operations as well as amortized constant-time insertion operations. First introduced by Pagh in 2001 [3] as an extension of a previous static dictionary data structure, Cuckoo Hashing was the first such hash table with practically small constant fact...

متن کامل

Dynamic Dictionaries in Constant Worst-Case Time

We introduce a technique to maintain a set of n elements from a universe of size u with membership and indel operations, so that elements are associated r-bit satellite data. We achieve constant worst-case time for all the operations, at the price of spending u + o(u) + O(nr + n log log log u) bits of space. Only the variant where the space is of the form O(nr + n log u) was exhaustively explor...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998